package com.hejing.接口interface.接口案例02;

/**
 * ClassName: CompareableCircle
 * Package: com.hejing.接口interface.接口案例02
 * Description:
 *
 * @Author: HeJing
 * @Create: 2023-03-30 19:36
 * @Version: 1.0
 */
public class CompareableCircle extends Circle implements CompareObject{

    public CompareableCircle() {
    }

    public CompareableCircle(int radius){
        super(radius);
    }

    // 根据对象的半径大小比较对象的大小。
    // 实现类实现接口指定的相关标准，此处为实现通过圆的半径比较圆的大小的接口
    @Override
    public int compareTo(Object o){
        //
        if(this == o) return 0;
        if(o instanceof Circle) {
            CompareableCircle c = (CompareableCircle) o;
            return this.getRadius() > c.getRadius() ? 1: (this.getRadius() == c.getRadius() ? 0: -1);
        }
        return 2;  // 如果输入的类型不匹配，则返回2
        // 此处的思维太狭窄了，连类型转换都没有想到。
        // return this.getRadius() - o.getRadius();
    }
}



















